<extend name="public/form"/>
<block name="css"></block>
<block name="content">
    <div class="layui-card-header "></div>
    <div class="layui-card-body layui-tab"><!--选项卡父容器必须包含layui-tab class-->
        <ul class="layui-tab-title">
            <li class="layui-this">基本信息</li>
            <li>编辑权限</li>
        </ul>
        <div class="layui-tab-content" style="height: 100%;">
            <div class="layui-tab-item layui-show">
                <form id="form1" class="layui-form">
                    <div class="layui-form-item">
                        <label class="layui-form-label">角色名称</label>
                        <div class="layui-input-block">
                            <input type="text" name="title" lay-verify="required" lay-reqtext="请输入角色名称"
                                   placeholder="请输入角色名称" autocomplete="off" class="layui-input ">
                        </div>
                    </div>

                    <div class="layui-form-item">
                        <label class="layui-form-label">排序</label>
                        <div class="layui-input-block">
                            <input type="text" name="level" lay-verify="required|number" lay-reqtext="请输入排序"
                                   placeholder="请输入排序" autocomplete="off" class="layui-input " value="99">
                        </div>
                    </div>

                    <div class="layui-form-item">
                        <label class="layui-form-label">状态</label>
                        <div class="layui-input-inline">
                            <input type="radio" name="status" title="显示" value="1" checked/>
                            <input type="radio" name="status" title="隐藏" value="0"/>
                        </div>
                    </div>
                    <div class="layui-form-item layui-form-text">
                        <label class="layui-form-label">角色描述</label>
                        <div class="layui-input-block">
                            <textarea placeholder="请输入内容" class="layui-textarea" name="notation"></textarea>
                        </div>
                    </div>
                    <div class="layui-form-item">
                        <div class="layui-input-block">
                            <button class="layui-btn" lay-submit="" lay-filter="add">立即提交</button>
                            <button type="reset" class="layui-btn layui-btn-primary">重置</button>
                        </div>
                    </div>
                </form>
            </div>
            <div class="layui-tab-item">
                <div id="test12" class="demo-tree-more"></div>
            </div>
        </div>
    </div>
</block>
<block name="js">
    <script>
        layui.use(['jquery', 'form', 'layer', 'tree', 'util', 'element',], function () {
            var $ = layui.jquery,
                form = layui.form,
                layer = layui.layer,
                tree = layui.tree,
                util = layui.util,
                element = layui.element;
            $.ajax({
                url:'/admin/auth_rule/tree',
                method:'get',
                success:function(data){
                    //基本演示
                    tree.render({
                        elem: '#test12'
                        , data: data
                        , showCheckbox: true  //是否显示复选框
                        , id: 'demoId1'
                        , isJump: false //是否允许点击节点时弹出新窗口跳转
                        , click: function (obj) {
                            var data = obj.data;  //获取当前点击的节点数据
                            layer.msg('状态：' + obj.state + '<br>节点数据：' + JSON.stringify(data));
                        }
                    });
                },
                error:function (data) {
                    layer.msg('服务器繁忙', {icon: 5});
                }
            }) ;
            //按钮事件
            util.event('lay-demo', {
                getChecked: function (othis) {
                    var checkedData = tree.getChecked('demoId1'); //获取选中节点的数据

                    layer.alert(JSON.stringify(checkedData), {shade: 0});
                    console.log(checkedData);
                }
                , setChecked: function () {
                    tree.setChecked('demoId1', [12, 16]); //勾选指定节点
                }
                , reload: function () {
                    //重载实例
                    tree.reload('demoId1', {});

                }
            });
            //监听提交
            form.on('submit(add)', function (data) {
                let send_json = data.field;
                //获取权限信息
                var checkedData = tree.getChecked('demoId1'); //获取选中节点的数据
                function getId(checkedData,ids=''){
                    for (var i = 0; i < checkedData.length; i++) {
                        ids=ids+checkedData[i].id+',';
                        if(checkedData[i].children){
                            ids= getId(checkedData[i].children,ids);
                        }
                    }
                    return ids;
                }
                var str=getId(checkedData);
                var rules=(str.substring(str.length-1)==',')?str.substring(0,str.length-1):str;
                send_json.rules=rules;
                $.ajax({
                    url: '/admin/auth_group/add',
                    method: 'post',
                    data: send_json,
                    dataType: 'JSON',
                    success: function (res) {
                        if (res.code == 0) {
                            layer.alert("增加成功", {
                                icon: 6
                            }, function () {
                                parent.location.reload();
                            });
                        } else {
                            layer.msg(res.msg, {icon: 5});
                        }

                    },
                    error: function (data) {
                        layer.msg('服务器繁忙', {icon: 5});
                    }
                });

                return false;
            });

            //遍历select option
            $(document).ready(function () {
                $("#pid-select option").each(function (text) {
                    var level = $(this).attr('data-level');
                    var text = $(this).text();
                    if (level > 1) {
                        text = "├" + text;
                        for (var i = 1; i <= level; i++) {
                            text = "　　" + text;　//js中连续显示多个空格，需要使用全角的空格
                            //console.log(i+"text:"+text);
                        }
                    }
                    $(this).text(text);

                });

                form.render('select'); //刷新select选择框渲染
            });

        });
    </script>
</block>